package com.crm.dao;

import com.crm.entity.*;
import com.crm.entity.Customer;

import java.util.List;
import java.util.Map;


/**
 * 客户Dao接口
 *
 * @author Administrator
 */
public interface CustomerDao {


    /**
     * 查询客户集合
     *
     * @param map
     * @return
     */
    List<Customer> find(Map<String, Object> map);


    /**
     * 获取总记录数
     *
     * @param map
     * @return
     */
    Long getTotal(Map<String, Object> map);

    /**
     * 添加客户
     *
     * @param customer
     * @return
     */
    int add(Customer customer);

    /**
     * 修改客户
     *
     * @param customer
     * @return
     */
    int update(Customer customer);

    /**
     * 删除客户
     *
     * @param id
     * @return
     */
    int delete(Integer id);

    /**
     * 根据id查找顾客
     *
     * @param id
     * @return
     */
    Customer findById(Integer id);

    /**
     * 查找流失的客户 6个月未下单的客户
     *
     * @return
     */
    List<Customer> findLossCustomer();

    /**
     * 查询客户贡献
     *
     * @param map
     * @return
     */
    List<CustomerGx> findCustomerGx(Map<String, Object> map);

    /**
     * 查询客户贡献记录数
     *
     * @param map
     * @return
     */
    Long getTotalCustomerGx(Map<String, Object> map);

    /**
     * 查询客户构成
     *
     * @return
     */
    List<CustomerGc> findCustomerGc();

    /**
     * 查询客户服务
     *
     * @return
     */
    List<CustomerFw> findCustomerFw();
}
